home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / invstrsk.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-03-10  |  5.3 KB  |  150 lines

  1. 10000  RANDOMIZE
  2. 10010  REM a1 most likely income ; a2 best case , a3 worst case
  3. 10020  REM e1 most likely expense ; e2 best case; e3 worst case
  4. 10030  REM f1 most likely income escalation f2 and f3 best and worst
  5. 10040  REM d1 d2 and d3 same for expense escalation
  6. 10050  DEFINT I-N
  7. 10060  A1=0:A2=0:A3=0:E1=0:E2=0:E3=0:D1=0:D2=0:D3=0:D4=0:EI=0:VI=0
  8. 10070  EE=0:VE=0:A=0:B=0:J=0:J1=0:X1=0:X2=0:Z1=0:Z2=0:S1=0:S2=0:A7=0:A8=0:X=0:B2=0:B1=0
  9. 10080  DIM A(100),EX(100),PR(100)
  10. 10090  CLS
  11. 10100  PRINT "PROGRAM RISK. SIMULATION OF RISKY INVESTMENT'
  12. 10110  PRINT
  13. 10120  PRINT "PLEASE ENTER DATA ASKED FOR."
  14. 10130  INPUT "NAME OF INVESTMENT";NI$
  15. 10140  PRINT USING"REALISTIC ESTIMATE OF INCOME ($$#,###.##)";A1;
  16. 10150  INPUT A1
  17. 10160  PRINT USING"BEST CASE INCOME ($$#,###.##)";A2;
  18. 10170  INPUT A2
  19. 10180  PRINT USING"WORSE CASE INCOME ($$#,###.##)";A3;
  20. 10190  INPUT A3
  21. 10200  PRINT USING"REALISTIC ESTIMATE OF EXPENSES ($$#,###.##)";E1;
  22. 10210  INPUT E1
  23. 10220  PRINT USING"BEST CASE EXPENSES ($$#,###.##)";E2;
  24. 10230  INPUT E2
  25. 10240  PRINT USING"WORSE CASE EXPENSES ($$#,###.##)";E3;
  26. 10250  INPUT E3
  27. 10260  PRINT USING"REALISTIC ESTIMATE INCOME ESCALATION (##.##%)";F1;
  28. 10270  INPUT F1
  29. 10280  PRINT USING"BEST CASE ESCALATION (##.##%)";F2;
  30. 10290  INPUT F2
  31. 10300  PRINT USING"WORSE CASE ESCALATION (##.##%)";F3;
  32. 10310  INPUT F3
  33. 10320  PRINT USING"REALISTIC ESTIMATE OF EXPENSE ESCALATION (##.##%)";D1;
  34. 10330  INPUT D1
  35. 10340  PRINT USING"BEST CASE ESCALATION (##.##%)";D2;
  36. 10350  INPUT D2
  37. 10360  PRINT USING"WORSE CASE ESCALATION (##.##)";D3;
  38. 10370  INPUT D3
  39. 10380  PRINT USING"LIFE OF THE INVESTMENT (## YEARS)";LF;
  40. 10390  INPUT LF
  41. 10400  CLS
  42. 10410  PRINT TAB(15)"CHECK DATA TO BE SURE ACCURATE"
  43. 10420  PRINT USING"REALISTIC ESTIMATE OF INCOME $$#,###.##";A1
  44. 10430  PRINT USING"BEST CASE INCOME $$#,###.##";A2
  45. 10440  PRINT USING"WORSE CASE INCOME $$#,###.##";A3
  46. 10450  PRINT USING"REALISTIC ESTIMATE OF EXPENSES $$#,###.##";E1
  47. 10460  PRINT USING"BEST CASE EXPENSES $$#,###.##";E2
  48. 10470  PRINT USING"WORSE CASE EXPENSES $$#,###.##";E3
  49. 10480  PRINT USING"REALISTIC ESTIMATE INCOME ESCALATION ##.##%";F1
  50. 10490  PRINT USING"BEST CASE ESCALATION ##.##%";F2
  51. 10500  PRINT USING"WORSE CASE ESCALATION ##.##%";F3
  52. 10510  PRINT USING"REALISTIC ESTIMATE OF EXPENSE ESCALATION ##.##%";D1
  53. 10520  PRINT USING"BEST CASE ESCALATION ##.##%";D2
  54. 10530  PRINT USING"WORSE CASE ESCALATION ##.##";D3
  55. 10540  PRINT USING"LIFE OF THE INVESTMENT ## YEARS";LF
  56. 10550  PRINT TAB(25)"ARE THESE CORRECT, Y OR N ?"
  57. 10560  Y$= INKEY$: IF Y$="" THEN 10560 ELSE IF INSTR ("yn",Y$)=0 THEN PRINT "Please answer y or n.":GOTO 10560
  58. 10570  IF Y$= "n" THEN 10090
  59. 10580  INPUT "ENTER THE NUMBER OF TIMES TO SIMULATE INVESTMENT (1-100).";NS
  60. 10590  IF NS =0 THEN NS=1 ELSE IF NS >100 THEN PRINT"Number of simulations must be 100 or less.":GOTO 10580
  61. 10600  CLS
  62. 10610  PRINT
  63. 10620  PRINT TAB(20)"NOW WORKING ON SIMULATION.PLEASE WAIT."
  64. 10630  EI=(A2+A3+4*A1)/6
  65. 10640  VI=ABS(A2-A3)/6
  66. 10650  EE=(E2+E3+4*E1)/6
  67. 10660  VE=ABS(E2-E3)/6
  68. 10670  X1=(F2+F3+4*F1)/6
  69. 10680  X2=ABS(F2-F3)/6
  70. 10690  Z1=(D2+D3+4*D1)/6
  71. 10700  Z2=ABS(D2-D3)/6
  72. 10710  S1=0:S2=0
  73. 10720  FOR J= 0 TO NS
  74. 10730       PRINT"simulation # "J
  75. 10740       EX=EI:VX=VI
  76. 10750       GOSUB 11420
  77. 10760       A7=X
  78. 10770       EX=EE:VX=VE
  79. 10780       GOSUB 11420
  80. 10790       A8=X:  '  expense for sim. j
  81. 10800       EX=X1
  82. 10810       VX=V2
  83. 10820       GOSUB 11420
  84. 10830       B1=X:  ' income escalation for j
  85. 10840       EX=Z1
  86. 10850       VX=Z2
  87. 10860       GOSUB 11420
  88. 10870       B2=X
  89. 10880    PR(J)=0
  90. 10890       FOR J1= 1 TO LF
  91. 10900            A=A7*(1+B1/100)^(J1-1):  '   income
  92. 10910            B=A8*(1+B2/100)^J1  :    '   expense
  93. 10920           PR(J)= A-B + PR(J):       '   profit
  94. 10930       NEXT J1
  95. 10940       S1=S1 + PR(J)
  96. 10950  NEXT J
  97. 10960  EP=S1/(NS+1)
  98. 10970  CLS
  99. 10980  FOR J2 = 0 TO NS
  100. 10990      S2=S2+((PR(J2)-EP)*(PR(J2)-EP))
  101. 11000  NEXT J2
  102. 11010  SD=S2/NS
  103. 11020  SD=SQR(SD)
  104. 11030  PRINT
  105. 11040  PRINT TAB(25)"SIMULATION COMPLETED"
  106. 11050  PRINT TAB(25)"RESULTS ARE ---"
  107. 11060  PRINT USING"EXPECTED PROFIT IS $$###,###.##";EP
  108. 11070  PRINT USING"STANDARD DEVIATION IS $$###,###.##";SD
  109. 11080  PRINT
  110. 11090  PRINT"FOR HARD COPY PRESS `H'. PRESS ANY OTHER KEY TO CONTINUE."
  111. 11100  Y$= INKEY$:IF Y$= "" THEN 11100 ELSE IF Y$ = "H" OR Y$="h" THEN GOSUB 11160
  112. 11110  PRINT"DO YOU WANT TO RUN ANOTHER, `Y' OR `N'."
  113. 11120  Y$=INKEY$:IF Y$="" THEN 11120 ELSE IF INSTR("YNyn",Y$) =0 THEN PRINT"PLEASE ANSWER ONLY `Y' OR `N'.":GOTO 11120
  114. 11130  IF Y$="Y" OR Y$="y" THEN 10090
  115. 11140  END
  116. 11150  END
  117. 11160  LPRINT
  118. 11170  LPRINT TAB(25)"HARD COPY FOR RISK PROGRAM"
  119. 11180  LPRINT:LPRINT TAB(28)"NAME OF INVESTMENT IS:":LPRINT:LPRINT TAB(28)NI$:LPRINT TAB(28) STRING$(LEN(NI$),"=")
  120. 11190  LPRINT:LPRINT:LPRINT TAB(30)"INPUT INFORMATION"
  121. 11200  LPRINT" ":LPRINT TAB(10) USING"BEST ESTIMATE OF INCOME -------------$$###,###.##";A1
  122. 11210  LPRINT TAB(10) USING"BEST CASH INCOME --------------------$$###,###.##";A2
  123. 11220  LPRINT TAB(10) USING"WORST CASE INCOME -------------------$$###,###.##";A3
  124. 11230  LPRINT TAB(10) USING"BEST ESTIMATE OF EXPENSES -----------$$###,###.##";E1
  125. 11240  LPRINT TAB(10) USING"BEST CASE EXPENSES ------------------$$###,###.##";E2
  126. 11250  LPRINT TAB(10) USING"WORSE CASE EXPENSES -----------------$$###,###.##";E3
  127. 11260  LPRINT TAB(10) USING"BEST ESTIMATE INCOME ESCALATION -----------##.##%";F1
  128. 11270  LPRINT TAB(10) USING"BEST CASE INCOME ESCALATION ---------------##.##%";F2
  129. 11280  LPRINT TAB(10) USING"WORSE CASE INCOME ESCALATION --------------##.##%";F3
  130. 11290  LPRINT TAB(10) USING"BEST ESTIMATE EXPENSE ESCALATION ----------##.##%";D1
  131. 11300  LPRINT TAB(10) USING"BEST CASE EXPENSE ESCALATION --------------##.##%";D2
  132. 11310  LPRINT TAB(10) USING"WORSE CASE EXPENSE ESCALATION -------------##.##%";D3
  133. 11320  LPRINT" ":LPRINT TAB(10) USING"LIFE OF THE INVESTMENT ------------------## YEARS";LF
  134. 11330  LPRINT " ":LPRINT " "
  135. 11340  LPRINT TAB(33)"RESULTS"
  136. 11350  LPRINT" ":LPRINT TAB(10) USING"EXPECTED PROFIT OVER THE ## YEARS -------$$#,###,###.##";LF,EP
  137. 11360  LPRINT TAB(10) USING"STANDARD DEVIATION OF PROFIT ------------$$#,###,###.##";SD
  138. 11370  LPRINT" "
  139. 11380  LPRINT USING"There is a 90% probabilty of making a profit within the range of $$#,###,###.## to $$#,###,###.## with this investment and a 99% probability in the range of $$#,###,###.## to $$#,###,###.##.";EP-(2*SD),EP+(2*SD),EP-(3*SD),EP+(3*SD)
  140. 11390  LPRINT" "
  141. 11400  LPRINT TAB(25) USING"NUMBER OF SIMULATIONS WAS ###";NS
  142. 11410  RETURN
  143. 11420  '  NORMAL DISTRIBUTION
  144. 11430  SX=0
  145. 11440  FOR K1 = 1 TO 12
  146. 11450      SX=SX+ RND
  147. 11460  NEXT K1
  148. 11470  X=VX*(SX-6)+EX
  149. 11480  RETURN
  150.